# 选择一个基础镜像
FROM node:18 AS builder

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制项目源代码
COPY . .

# 运行构建命令
RUN npm run build

# 使用轻量级的 nginx 镜像来服务构建后的文件
FROM nginx

# 复制构建后的文件到 nginx 的 html 目录
COPY --from=builder /app/dist /usr/share/nginx/html

COPY nginx.conf /etc/nginx/conf.d

# 暴露端口
EXPOSE 80

# 启动 nginx
CMD ["nginx", "-g", "daemon off;"]